/*
 * SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#pragma once

#define TIMER_IN_IDX                            0   // TODO: [ESP32H4] IDF-12499  need check
#define LEDC_LS_SIG_OUT0_IDX                    0
#define LEDC_LS_SIG_OUT1_IDX                    1
#define LEDC_LS_SIG_OUT2_IDX                    2
#define LEDC_LS_SIG_OUT3_IDX                    3
#define LEDC_LS_SIG_OUT4_IDX                    4
#define LEDC_LS_SIG_OUT5_IDX                    5
#define LEDC_LS_SIG_OUT6_IDX                    6
#define LEDC_LS_SIG_OUT7_IDX                    7
#define U0RXD_IN_IDX                            8
#define U0TXD_OUT_IDX                           8
#define U0CTS_IN_IDX                            9
#define U0RTS_OUT_IDX                           9
#define U0DSR_IN_IDX                            10
#define U0DTR_OUT_IDX                           10
#define U1RXD_IN_IDX                            11
#define U1TXD_OUT_IDX                           11
#define U1CTS_IN_IDX                            12
#define U1RTS_OUT_IDX                           12
#define U1DSR_IN_IDX                            13
#define U1DTR_OUT_IDX                           13
#define I2S_MCLK_IN_IDX                         14
#define I2S_MCLK_OUT_IDX                        14
#define I2SO_BCK_IN_IDX                         15
#define I2SO_BCK_OUT_IDX                        15
#define I2SO_WS_IN_IDX                          16
#define I2SO_WS_OUT_IDX                         16
#define I2SI_SD_IN_IDX                          17
#define I2SO_SD_OUT_IDX                         17
#define I2SI_BCK_IN_IDX                         18
#define I2SI_BCK_OUT_IDX                        18
#define I2SI_WS_IN_IDX                          19
#define I2SI_WS_OUT_IDX                         19
#define I2SO_SD1_OUT_IDX                        20
#define CPU0_TESTBUS0_IDX                       21
#define CPU0_TESTBUS1_IDX                       22
#define CPU0_TESTBUS2_IDX                       23
#define CPU0_TESTBUS3_IDX                       24
#define CPU0_TESTBUS4_IDX                       25
#define CPU0_TESTBUS5_IDX                       26
#define CPU0_TESTBUS6_IDX                       27
#define CPU0_TESTBUS7_IDX                       28
#define CPU0_GPIO_IN0_IDX                       29
#define CPU0_GPIO_OUT0_IDX                      29
#define CPU0_GPIO_IN1_IDX                       30
#define CPU0_GPIO_OUT1_IDX                      30
#define CPU0_GPIO_IN2_IDX                       31
#define CPU0_GPIO_OUT2_IDX                      31
#define CPU0_GPIO_IN3_IDX                       32
#define CPU0_GPIO_OUT3_IDX                      32
#define CPU0_GPIO_IN4_IDX                       33
#define CPU0_GPIO_OUT4_IDX                      33
#define CPU0_GPIO_IN5_IDX                       34
#define CPU0_GPIO_OUT5_IDX                      34
#define CPU0_GPIO_IN6_IDX                       35
#define CPU0_GPIO_OUT6_IDX                      35
#define CPU0_GPIO_IN7_IDX                       36
#define CPU0_GPIO_OUT7_IDX                      36
#define USB_JTAG_TDO_IDX                        37
#define USB_JTAG_TRST_IDX                       37
#define USB_JTAG_SRST_IDX                       38
#define USB_JTAG_TCK_IDX                        39
#define USB_JTAG_TMS_IDX                        40
#define USB_JTAG_TDI_IDX                        41
#define CPU_USB_JTAG_TDO_IDX                    42
#define USB_OTG_IDDIG_IN_IDX                    43
#define USB_SRP_DISCHRGVBUS_OUT_IDX             43
#define USB_OTG_AVALID_IN_IDX                   44
#define USB_OTG_IDPULLUP_OUT_IDX                44
#define USB_SRP_BVALID_IN_IDX                   45
#define USB_OTG_DPPULLDOWN_OUT_IDX              45
#define USB_OTG_VBUSVALID_IN_IDX                46
#define USB_OTG_DMPULLDOWN_OUT_IDX              46
#define USB_SRP_SESSEND_IN_IDX                  47
#define USB_OTG_DRVVBUS_OUT_IDX                 47
#define USB_SRP_CHRGVBUS_OUT_IDX                48
#define I2CEXT0_SCL_IN_IDX                      49
#define I2CEXT0_SCL_OUT_IDX                     49
#define I2CEXT0_SDA_IN_IDX                      50
#define I2CEXT0_SDA_OUT_IDX                     50
#define PARL_RX_DATA0_IDX                       51
#define PARL_TX_DATA0_IDX                       51
#define PARL_RX_DATA1_IDX                       52
#define PARL_TX_DATA1_IDX                       52
#define PARL_RX_DATA2_IDX                       53
#define PARL_TX_DATA2_IDX                       53
#define PARL_RX_DATA3_IDX                       54
#define PARL_TX_DATA3_IDX                       54
#define PARL_RX_DATA4_IDX                       55
#define PARL_TX_DATA4_IDX                       55
#define PARL_RX_DATA5_IDX                       56
#define PARL_TX_DATA5_IDX                       56
#define PARL_RX_DATA6_IDX                       57
#define PARL_TX_DATA6_IDX                       57
#define PARL_RX_DATA7_IDX                       58
#define PARL_TX_DATA7_IDX                       58
#define FSPICLK_IN_IDX                          59
#define FSPICLK_OUT_IDX                         59
#define FSPIQ_IN_IDX                            60
#define FSPIQ_OUT_IDX                           60
#define FSPID_IN_IDX                            61
#define FSPID_OUT_IDX                           61
#define FSPIHD_IN_IDX                           62
#define FSPIHD_OUT_IDX                          62
#define FSPIWP_IN_IDX                           63
#define FSPIWP_OUT_IDX                          63
#define FSPICS0_IN_IDX                          64
#define FSPICS0_OUT_IDX                         64
#define PARL_RX_CLK_IN_IDX                      65
#define PARL_RX_CLK_OUT_IDX                     65
#define PARL_TX_CLK_IN_IDX                      66
#define PARL_TX_CLK_OUT_IDX                     66
#define RMT_SIG_IN0_IDX                         67
#define RMT_SIG_OUT0_IDX                        67
#define RMT_SIG_IN1_IDX                         68
#define RMT_SIG_OUT1_IDX                        68
#define TWAI0_RX_IDX                            69
#define TWAI0_TX_IDX                            69
#define PARL_TX_CS_IDX                          70
#define EXTERN_PRIORITY_I_IDX                   75
#define EXTERN_PRIORITY_O_IDX                   75
#define EXTERN_ACTIVE_I_IDX                     76
#define EXTERN_ACTIVE_O_IDX                     76
#define PCNT_RST_IN0_IDX                        77
#define GPIO_SD0_OUT_IDX                        77
#define PCNT_RST_IN1_IDX                        78
#define GPIO_SD1_OUT_IDX                        78
#define PCNT_RST_IN2_IDX                        79
#define GPIO_SD2_OUT_IDX                        79
#define PCNT_RST_IN3_IDX                        80
#define GPIO_SD3_OUT_IDX                        80
#define PWM0_SYNC0_IN_IDX                       81
#define PWM0_OUT0A_IDX                          81
#define PWM0_SYNC1_IN_IDX                       82
#define PWM0_OUT0B_IDX                          82
#define PWM0_SYNC2_IN_IDX                       83
#define PWM0_OUT1A_IDX                          83
#define PWM0_F0_IN_IDX                          84
#define PWM0_OUT1B_IDX                          84
#define PWM0_F1_IN_IDX                          85
#define PWM0_OUT2A_IDX                          85
#define PWM0_F2_IN_IDX                          86
#define PWM0_OUT2B_IDX                          86
#define PWM0_CAP0_IN_IDX                        87
#define PWM0_CAP1_IN_IDX                        88
#define PWM0_CAP2_IN_IDX                        89
#define GPIO_EVENT_MATRIX_IN0_IDX               90
#define GPIO_TASK_MATRIX_OUT0_IDX               90
#define GPIO_EVENT_MATRIX_IN1_IDX               91
#define GPIO_TASK_MATRIX_OUT1_IDX               91
#define GPIO_EVENT_MATRIX_IN2_IDX               92
#define GPIO_TASK_MATRIX_OUT2_IDX               92
#define GPIO_EVENT_MATRIX_IN3_IDX               93
#define GPIO_TASK_MATRIX_OUT3_IDX               93
#define CLK_OUT_OUT1_IDX                        94
#define CLK_OUT_OUT2_IDX                        95
#define CLK_OUT_OUT3_IDX                        96
#define SIG_IN_FUNC_97_IDX                      97
#define SIG_IN_FUNC97_IDX                       97
#define SIG_IN_FUNC_98_IDX                      98
#define SIG_IN_FUNC98_IDX                       98
#define SIG_IN_FUNC_99_IDX                      99
#define SIG_IN_FUNC99_IDX                       99
#define SIG_IN_FUNC_100_IDX                     100
#define SIG_IN_FUNC100_IDX                      100
#define PCNT_SIG_CH0_IN0_IDX                    102
#define FSPICS1_OUT_IDX                         102
#define PCNT_SIG_CH1_IN0_IDX                    103
#define FSPICS2_OUT_IDX                         103
#define PCNT_CTRL_CH0_IN0_IDX                   104
#define FSPICS3_OUT_IDX                         104
#define PCNT_CTRL_CH1_IN0_IDX                   105
#define FSPICS4_OUT_IDX                         105
#define PCNT_SIG_CH0_IN1_IDX                    106
#define FSPICS5_OUT_IDX                         106
#define PCNT_SIG_CH1_IN1_IDX                    107
#define MODEM_DIAG0_IDX                         107
#define PCNT_CTRL_CH0_IN1_IDX                   108
#define MODEM_DIAG1_IDX                         108
#define PCNT_CTRL_CH1_IN1_IDX                   109
#define MODEM_DIAG2_IDX                         109
#define PCNT_SIG_CH0_IN2_IDX                    110
#define MODEM_DIAG3_IDX                         110
#define PCNT_SIG_CH1_IN2_IDX                    111
#define MODEM_DIAG4_IDX                         111
#define PCNT_CTRL_CH0_IN2_IDX                   112
#define MODEM_DIAG5_IDX                         112
#define PCNT_CTRL_CH1_IN2_IDX                   113
#define MODEM_DIAG6_IDX                         113
#define PCNT_SIG_CH0_IN3_IDX                    114
#define MODEM_DIAG7_IDX                         114
#define PCNT_SIG_CH1_IN3_IDX                    115
#define MODEM_DIAG8_IDX                         115
#define PCNT_CTRL_CH0_IN3_IDX                   116
#define MODEM_DIAG9_IDX                         116
#define PCNT_CTRL_CH1_IN3_IDX                   117
#define MODEM_DIAG10_IDX                        117
#define MODEM_DIAG11_IDX                        118
#define MODEM_DIAG12_IDX                        119
#define MODEM_DIAG13_IDX                        120
#define MODEM_DIAG14_IDX                        121
#define MODEM_DIAG15_IDX                        122
#define MODEM_DIAG16_IDX                        123
#define MODEM_DIAG17_IDX                        124
#define MODEM_DIAG18_IDX                        125
#define MODEM_DIAG19_IDX                        126
#define MODEM_DIAG20_IDX                        127
#define MODEM_DIAG21_IDX                        128
#define MODEM_DIAG22_IDX                        129
#define MODEM_DIAG23_IDX                        130
#define MODEM_DIAG24_IDX                        131
#define MODEM_DIAG25_IDX                        132
#define MODEM_DIAG26_IDX                        133
#define MODEM_DIAG27_IDX                        134
#define MODEM_DIAG28_IDX                        135
#define MODEM_DIAG29_IDX                        136
#define MODEM_DIAG30_IDX                        137
#define MODEM_DIAG31_IDX                        138
#define ANT_SEL0_IDX                            139
#define ANT_SEL1_IDX                            140
#define ANT_SEL2_IDX                            141
#define ANT_SEL3_IDX                            142
#define ANT_SEL4_IDX                            143
#define ANT_SEL5_IDX                            144
#define ANT_SEL6_IDX                            145
#define ANT_SEL7_IDX                            146
#define ANT_SEL8_IDX                            147
#define ANT_SEL9_IDX                            148
#define ANT_SEL10_IDX                           149
#define ANT_SEL11_IDX                           150
#define ANT_SEL12_IDX                           151
#define ANT_SEL13_IDX                           152
#define ANT_SEL14_IDX                           153
#define ANT_SEL15_IDX                           154
#define PWM1_SYNC0_IN_IDX                       155
#define PWM1_OUT0A_IDX                          155
#define PWM1_SYNC1_IN_IDX                       156
#define PWM1_OUT0B_IDX                          156
#define PWM1_SYNC2_IN_IDX                       157
#define PWM1_OUT1A_IDX                          157
#define PWM1_F0_IN_IDX                          158
#define PWM1_OUT1B_IDX                          158
#define PWM1_F1_IN_IDX                          159
#define PWM1_OUT2A_IDX                          159
#define PWM1_F2_IN_IDX                          160
#define PWM1_OUT2B_IDX                          160
#define PWM1_CAP0_IN_IDX                        161
#define PWM1_CAP1_IN_IDX                        162
#define PWM1_CAP2_IN_IDX                        163
#define I2CEXT1_SCL_IN_IDX                      164
#define I2CEXT1_SCL_OUT_IDX                     164
#define I2CEXT1_SDA_IN_IDX                      165
#define I2CEXT1_SDA_OUT_IDX                     165
#define FSPI3CLK_IN_IDX                         166
#define FSPI3CLK_OUT_IDX                        166
#define FSPI3Q_IN_IDX                           167
#define FSPI3Q_OUT_IDX                          167
#define FSPI3D_IN_IDX                           168
#define FSPI3D_OUT_IDX                          168
#define FSPI3HD_IN_IDX                          169
#define FSPI3HD_OUT_IDX                         169
#define FSPI3WP_IN_IDX                          170
#define FSPI3WP_OUT_IDX                         170
#define FSPI3CS0_IN_IDX                         171
#define FSPI3CS0_OUT_IDX                        171
#define FSPI3CS1_OUT_IDX                        172
#define FSPI3CS2_OUT_IDX                        173
#define CPU1_TESTBUS0_IDX                       174
#define CPU1_TESTBUS1_IDX                       175
#define CPU1_TESTBUS2_IDX                       176
#define CPU1_TESTBUS3_IDX                       177
#define CPU1_TESTBUS4_IDX                       178
#define CPU1_TESTBUS5_IDX                       179
#define CPU1_TESTBUS6_IDX                       180
#define CPU1_TESTBUS7_IDX                       181
#define CPU1_GPIO_IN0_IDX                       182
#define CPU1_GPIO_OUT0_IDX                      182
#define CPU1_GPIO_IN1_IDX                       183
#define CPU1_GPIO_OUT1_IDX                      183
#define CPU1_GPIO_IN2_IDX                       184
#define CPU1_GPIO_OUT2_IDX                      184
#define CPU1_GPIO_IN3_IDX                       185
#define CPU1_GPIO_OUT3_IDX                      185
#define CPU1_GPIO_IN4_IDX                       186
#define CPU1_GPIO_OUT4_IDX                      186
#define CPU1_GPIO_IN5_IDX                       187
#define CPU1_GPIO_OUT5_IDX                      187
#define CPU1_GPIO_IN6_IDX                       188
#define CPU1_GPIO_OUT6_IDX                      188
#define CPU1_GPIO_IN7_IDX                       189
#define CPU1_GPIO_OUT7_IDX                      189
#define DIAG_MODE0_OUT_MUX0_IDX                 190
#define DIAG_MODE0_OUT_MUX1_IDX                 191
#define DIAG_MODE0_OUT_MUX2_IDX                 192
#define DIAG_MODE0_OUT_MUX3_IDX                 193
#define DIAG_MODE0_OUT_MUX4_IDX                 194
#define DIAG_MODE0_OUT_MUX5_IDX                 195
#define DIAG_MODE0_OUT_MUX6_IDX                 196
#define DIAG_MODE0_OUT_MUX7_IDX                 197
#define PROBE_TOUCH_OUT_IDX                     198
#define PROBE_TOP_OUT0_IDX                      199
#define PROBE_TOP_OUT1_IDX                      200
#define PROBE_TOP_OUT2_IDX                      201
#define PROBE_TOP_OUT3_IDX                      202
#define PROBE_TOP_OUT4_IDX                      203
#define PROBE_TOP_OUT5_IDX                      204
#define PROBE_TOP_OUT6_IDX                      205
#define PROBE_TOP_OUT7_IDX                      206
#define PROBE_TOP_OUT8_IDX                      207
#define PROBE_TOP_OUT9_IDX                      208
#define PROBE_TOP_OUT10_IDX                     209
#define PROBE_TOP_OUT11_IDX                     210
#define PROBE_TOP_OUT12_IDX                     211
#define PROBE_TOP_OUT13_IDX                     212
#define PROBE_TOP_OUT14_IDX                     213
#define PROBE_TOP_OUT15_IDX                     214
// version date 2403250
#define SIG_GPIO_OUT_IDX                        256
